package com.qf.quartz.job;

import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

/**
 * @author 王博康
 * @version 1.0
 * @project 08_quartz
 * @description: TODO
 * @date 2022/3/12 16:11 星期六
 */
public class TestMainCron {

    public static void main(String[] args) throws SchedulerException {

        //1、简单的时间触发器
//        SimpleTrigger simpleTrigger = TriggerBuilder.newTrigger()
//                //.endAt()//任务什么时候结束
//                //startAt()//任务什么时候开始
//                .startNow()//程序启动后任务立即执行
//                .withSchedule(SimpleScheduleBuilder.simpleSchedule()//如何调度，放入简单的调度器
//                        //设置调度器
//                        //.repeatForever()//只要任务没到结束的时间，一直重复
//                        .withRepeatCount(10)//重复指定的次数
//                        .withIntervalInSeconds(5)//多少秒重复一次
//                ).build();

        //1、复杂的时间触发器
        CronTrigger cronTrigger = TriggerBuilder.newTrigger()
                .withSchedule(CronScheduleBuilder
                        .cronSchedule("/2 * * * * ?")).build();


        //2、加载任务
        JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
                //加载任务是可以给任务传递一些信息
                .usingJobData("name","赵文韬" )
                .usingJobData("age","18" )
                .build();

        //3、通过调度器把任务和时间放在一起
        Scheduler defaultScheduler = StdSchedulerFactory.getDefaultScheduler();//获取默认的调度器
        defaultScheduler.scheduleJob(jobDetail,cronTrigger);//放入任务和时间
        defaultScheduler.start();//开启默认调度器
    }
}
